package $enum;

/**
 * 结果枚举的类型
 * 枚举的实例是固定的若干个实例
 */
public enum ResultEnum {
    //声明枚举类固定的类
    SUCCESS(200,"操作成功"),//调用ResulEnum有参构造实例化枚举对象，起名为SUCCESS
    FAILED(500,"操作失败"),
    VALIDATE_FAILED(404,"验证失败"),
    UNAUTHORIZED(401,"为获取授权的操作"),
    FORBIDDEN(403,"操作被服务器拒绝");
    //定义枚举具有的属性
    private int code;
    private String message;

    //枚举的有参构造
    ResultEnum(int code, String message) {
        this.code = code;
        this.message = message;
    }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    /**
     * 枚举中也可以自定义方法
     * 自定义方法必须通过枚举的对象来访问
     * @return
     */
    public Result getResult(){
        //根据当前枚举实例获取对应的code和massage，并封装到Result当中
        return new Result(this.getCode(),this.getMessage(),null);
    }
}
